Gradleを使ってみる
概要
Gradleを使って最低限のビルドとテストを行う
Github
https://github.com/gradle/gradle
公式サイト
http://gradle.org/
たまたまタイミングだと思うけど、自分がDLできなかった(サーバエラーっぽい
ので、
GithubからのDL > Buildと行った。
構成
Cloneして、そっからスタート。
ソースからコンパイル
./gradlew build
インストール
./gradlew install -Pgradle_installPath=/usr/local/gradle-source-build
パスとか弄らないままversion
./usr/local/gradle-source-build/bin/gradle -version
1.0 milestone…とか出るはず。
Screencast
インストール後の使い方の様子をプロジェクト作成からテスト走らせるまで。
http://www.screenr.com/ih88
使い方
(Screencastとは名前が異なります)
Eclipseで適当にプロジェクト一つ作ります
src/some/package/SampleProject
一つクラス追加
HelloWorld.java
JUnitを使ったテストクラスを追加
SampleTests.java
test/some/package/SampleTests.java の形で置く
srcフォルダと同じ階層に build.gradle ファイル追加
内容を記述
apply plugin:'java'
//add dependenncies into this build-rule
dependencies {
testCompile 'junit:junit:4.8.2'
}
//set repositories for this build-rule
repositories {
mavenCentral();
}
//change test-source dir from src/test/java to below
sourceSets {
test {
java {
srcDir "test/com/kissaki"
}
}
}
このあと、
該当するbuild.gradle のあるフォルダまで行ってから、
gradle build とするとビルド、
gradle test とするとテストが走ります。
Screencastだと、いきなりテストを行い、テスト側に
fail(not yet implemented);
があるので、失敗してます。
testを実行するとき、 -i オプションを付ける事で、詳細を表示していますが、
レポート自体は
srcと同じ階層に
build
フォルダが勝手に生成され、
build/reports/tests/
に、index.htmlと、パッケージ名.html という形でテスト結果が出力されてます。
build.gradle内容解説
・apply plugin:'java' で、javaだよーって宣言してます。
これによって、gradleが見るsrcとかtestとかのパスのルールが決定されています。
・dependencies には、依存している(以下略)
・テストのソースの場所設定を、sourceSetsで行ってます。
デフォルトの位置は、javaの場合、
src/test/java/ 下になります。
ちなみにこの設定でtestフォルダの位置を変えてるのは、
たまたま近所にあったGWTの構成がそうだったから。
必然性はありません。
GradleのTextMateBundleがあった
https://github.com/gradle/gradle.tmbundle
ご意見ご感想は @toru_inoue まで。あるもんならな!!